function factorial(x) {
  // 基线条件
  if (x === 1) {
    return 1;
  }
  //递归条件
  return x * factorial(x - 1);
}

console.log(factorial(5));

function sum(arr) {
  // 基线条件
  if (arr.length === 0) {
    return 0;
  }
  return arr[0] + sum(arr.splice(1, arr.length));
}
console.log(sum([2, 4, 6]));

// 找出列表中最大的数字。

function findMax(arr) {
  const len = arr.length;
  if (!len) {
    return 0;
  }
  let first = arr[0];
  let nextValue = findMax(arr.splice(1, arr.length));

  if (first < nextValue) {
    first = nextValue;
  }
  return first;
}

console.log(findMax([20, 48, 8]));
